package com.weixing.mall.provider.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.weixing.mall.provider.model.domain.AgentRule;
import com.weixing.mall.provider.model.dto.AgentRuleDto;
import com.weixing.mall.provider.model.query.AgentRuleQuery;
import com.weixing.mall.provider.model.vo.AgentRuleVo;

/**
 * <p>
 * 代理商模块-代理商晋升规则表 服务类
 * </p>
 *
 * @author Small
 * @since 2019-11-18
 */
public interface IAgentRuleService extends IService<AgentRule> {

    /**
     * @Description 分页条件查询 <br/>
     * @author gjq
     * @date 2019/9/23 17:18
     * @param page
     * @Param: agentRuleQuery
     * @return com.github.pagehelper.PageInfo<com.weixing.mall.provider.model.vo.AgentRuleVo>
     */
    IPage<AgentRuleVo> selectOfPage(Page page, AgentRuleQuery agentRuleQuery);

    /**
     * @Description 保存 <br/>
     * @author gjq
     * @date 2019/9/23 17:19
     * @param agentRuleDto
     * @return void
     */
    void save(AgentRuleDto agentRuleDto);

    AgentRule selectByRuleName(String ruleName);

    AgentRule selectByLevelAndType(int agentLevel, int agentType);
}
